#pragma once

#include <string>
#include <cstdint>
#include "common_errors.h"

namespace El {
namespace Storage {

constexpr ErrCode STORAGE_ERR_OFFSET = ErrCodeOffset(SUBSYS_STORAGE);
// 设备状态
enum class DeviceStatus : int32_t {
    ERR_UNKNOWN = STORAGE_ERR_OFFSET, // 未知状态
    ERR_NOT_EXIST,                    // 设备不存在
    ERR_DEVICE_ADDED,                 // 设备已添加
    ERR_DEVICE_REMOVED,               // 设备已移除
    ERR_MOUNTED,                      // 设备已挂载
    ERR_UNMOUNTED,                    // 设备已卸载
    ERR_CAPACITY_WARNING,             // 容量警告
    ERR_CAPACITY_FULL,                // 容量已满
    ERR_CAPACITY_NORMAL,              // 容量正常
    ERR_ERROR                         // 错误状态
};
std::string DeviceStatusToString(DeviceStatus status);

} // namespace Storage
} // namespace El